#include <stdio.h>
#include <stdlib.h>
#include "assert.h"
#include "menu.h"
#include "jeu.h"

#include "sdljeu.h"


int main (int argc, char** argv)
{
	int choixMenu = 1;
	int choixSelectNiveau = 0;
	int choixModeDeuxJoueurs = 0;
	int retourMenu;
	sdlJeu sj;
	assert(SDL_Init(SDL_INIT_VIDEO) != -1);
	sdljeuInit(&sj , 1, 1);


    /* MENU PRINCIPAL */
    do
    {
        retourMenu = 0;
        choixMenu = sdlMenuPrincipal(&sj);
        switch (choixMenu)
        {
            case 1 : choixSelectNiveau = sdlSelectNiveau(&sj);                       /* CHARGEMENT DE NIVEAU */
                     switch (choixSelectNiveau)
                     {
                        case 1 : sdljeuInit(&sj, 1, 1); sdljeuBoucle(&sj, 1); retourMenu = 1; break;
                        case 2 : sdljeuInit(&sj, 2, 1); sdljeuBoucle(&sj, 1); retourMenu = 1; break;
                        case 3 : sdljeuInit(&sj, 3, 1); sdljeuBoucle(&sj, 1); retourMenu = 1; break;
                        case 4 : sdljeuInit(&sj, 4, 1); sdljeuBoucle(&sj, 1); retourMenu = 1; break;
                        case 5 : sdljeuInit(&sj, 5, 1); sdljeuBoucle(&sj, 1); retourMenu = 1; break;
                        case 6 : retourMenu = 1; break;
                     }
                     break;
            case 2 : choixModeDeuxJoueurs = sdlSelectModeDeuxJoueurs(&sj);          /* MODE 2 JOUEURS */
                     switch (choixModeDeuxJoueurs)
                     {
                        case 1 : choixSelectNiveau = sdlSelectNiveau(&sj);          /* MODE VERSUS */
                                 switch (choixSelectNiveau)
                                 {
                                    case 1 : sdljeuInit(&sj, 1, 2); sdljeuBoucle(&sj, 2); retourMenu = 1; break;
                                    case 2 : sdljeuInit(&sj, 2, 2); sdljeuBoucle(&sj, 2); retourMenu = 1; break;
                                    case 3 : sdljeuInit(&sj, 3, 2); sdljeuBoucle(&sj, 2); retourMenu = 1; break;
                                    case 4 : sdljeuInit(&sj, 4, 2); sdljeuBoucle(&sj, 2); retourMenu = 1; break;
                                    case 5 : sdljeuInit(&sj, 5, 2); sdljeuBoucle(&sj, 2); retourMenu = 1; break;
                                    case 6 : retourMenu = 1; break;
                                 } break;
                        case 2 : choixSelectNiveau = sdlSelectNiveau(&sj);          /* MODE COOP */
                                 switch (choixSelectNiveau)
                                 {
                                    case 1 : sdljeuInit(&sj, 1, 3); sdljeuBoucle(&sj, 3); retourMenu = 1; break;
                                    case 2 : sdljeuInit(&sj, 2, 3); sdljeuBoucle(&sj, 3); retourMenu = 1; break;
                                    case 3 : sdljeuInit(&sj, 3, 3); sdljeuBoucle(&sj, 3); retourMenu = 1; break;
                                    case 4 : sdljeuInit(&sj, 4, 3); sdljeuBoucle(&sj, 3); retourMenu = 1; break;
                                    case 5 : sdljeuInit(&sj, 5, 3); sdljeuBoucle(&sj, 3); retourMenu = 1; break;
                                    case 6 : retourMenu = 1; break;
                                 } break;
                        case 3 : retourMenu = 1; break;
                     }
                     break;
            case 3 : break;                                                                 /* QUITTER */
            default : break;
        }

    } while (retourMenu == 1);

	sdljeuDetruit(&sj);
	return 0;
}
